лабораторна 6

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
СІ
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
теорія інтелектуальних систем

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт до лабораторної роботи №6 з дисципліни: «Теорія інтелектуальних систем» на тему: «Дослідження та моделювання колективної поведінки інтелектуальних агентів в задачах навчання з підкріпленням» Львів 2017 Мета: Дослідити модель взаємодії колективу агентів з середовищем та засвоїти принципи ізольованого й інтерактивного колективного навчання з підкріпленням. Порядок виконання роботи 1. Дослідити роботу програми обчислювального експерименту по моделюванню взаємодії колективу агентів з стаціонарним випадковим середовищем. 2. Модифікувати вхідні дані програми обчислювального експерименту згідно заданого варіанту. 3. Провести обчислювальний експеримент: 1) по дослідженню взаємодії колективу "випадкових" агентів з СВС; 2) по дослідженню взаємодії колективу "ідеальних" агентів з СВС. 3) по дослідженню взаємодії колективу RL-агентів заданого типу з СВС, при умові що вони виконують одночасне ізольоване колективне навчання з підкріпленням (Concurrent Isolated Reinforcement Learning). 4) по дослідженню взаємодії колективу RL-агентів заданого типу з СВС, при умові що вони виконують інтерактивне колективне навчання з підкріпленням (Interactive Reinforcement Learning). 4. Для всіх чотирьох випадків отримати усереднену залежність 1) sumRmas(t) - сумарного виграшу колективу агентів від часу; 2) avrRmas(t) - середнього виграшу колективу агентів від часу. Порівняти отримані залежності та зробити висновки. Варіант greedy -> жадібний метод навчання з підкріпленням Номер варіанту Метод навчання з підкріпленням Кількість доступних окремому агенту дій, k Кількість агентів в колективі, N  6 greedy 4 10   Текст програми обчислювального експерименту void initAgent(int _ag, int id) { int i; switch (_ag) { case 0: break; case 1: break; case 2: for (i = 0; i<nA; i++){ ka[id][i] = 0; ra[id][i] = 0; Q[id][i] = 1.0f; }; action[id] = uRand(nA); break; case 3: for (i = 0; i<nA; i++){ ka[id][i] = 0; ra[id][i] = 0; Q[id][i] = 1.0f; }; action[id] = uRand(nA); break; case 4: for (i = 0; i<nA; i++){ ka[id][i] = 0; ra[id][i] = 0; Q[id][i] = 0.0f; p[id][i] = 0.0f; }; action[id] = uRand(nA); break; default: printf("lab4 error: wrong agent code specified\n"); } } // ---------------------------------------------------------------------------- // random agent int randomAgent(void) { return uRand(nA); } // ---------------------------------------------------------------------------- // perfect agent int perfectAgent(void) { if (env) paction = argmax(cePa[ceState], nA); else paction = argmax(sePa, nA); return paction; } // ---------------------------------------------------------------------------- // greedy RL int greedy(int id) { int _action = action[id]; // modify estimated action value ra[id][action[id]] += response[id]; ka[id][action[id]]++; Q[id][action[id]] = (float)ra[id][action[id]] / (float)ka[id][action[id]]; // select next action _action = argmax(Q[id], nA); return _action; } // ---------------------------------------------------------------------------- // epsilon greedy RL int epsilonGreedy(int id) { int _action = action[id]; // modify estimated action value ra[id][action[id]] += response[id]; ka[id][action[id]]++; Q[id][action[id]] = (float)ra[id][action[id]] / (float)ka[id][action[id]]; // select next action float rnum = (float)rand() / (float)RAND_MAX; if (rnum < e) _action = uRand(nA); else _action = argmax(Q[id], nA); return _action; } // ---------------------------------------------------------------------------- // softmax action selection int softmax(int id) { int i; int _action = action[id]; float tmp[NACTIONS], pSum = 0.0f; // modify estimated action value ra[id][action[id]] += response[id]; ka[id][action[id]]++; Q[id][action[id]] = (float)ra[id][action[id]] / (float)ka[id][action[id]]; // modify values of selection probabilities for (i = 0; i < nA; i++) { tmp[i] = exp...
Антиботан аватар за замовчуванням

02.05.2018 21:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини